$(function () {
    layui.use(['form', 'layer', 'jquery','upload'],
        function () {
            let $ = layui.jquery,
                form = layui.form,
                layer = layui.layer,
                upload=layui.upload;

            //自定义验证规则
            form.verify({
                productTypeID: function (value) {
                    if (value==='') {
                        return '请选择产品类型';
                    }
                },
                // pass: [/(.+){6,18}$/, '密码必须6到18位'],
                // repass: function (value) {
                //     if ($('#L_pass').val() != $('#L_repass').val()) {
                //         return '两次密码不一致';
                //     }
                // }
            });

            //监听提交
            form.on('submit(add)',function (data) {
                    $.post({
                        url: '/admin/product/add',
                        dataType: 'json',
                        data: data.field,
                        success: function (res) {
                            if (res.code === 0) {
                                layer.alert("增加成功", {
                                        icon: 6
                                    },
                                    function () {
                                        //关闭当前frame
                                        xadmin.close();

                                        // 可以对父窗口进行刷新
                                        xadmin.father_reload();
                                    });
                            } else {
                                layer.alert("添加失败", {
                                        icon: 7
                                    },
                                    function () {
                                        //关闭当前frame
                                        xadmin.close();
                                    })
                            }
                        }
                    })
                    return false;
                });
            //图片上传
            let uploadInst = upload.render({
                elem: '#upload'
                , url: '/upload' //此处用的是第三方的 http 请求演示，实际使用时改成您自己的上传接口即可。
                , before: function (obj) {
                    //预读本地文件示例，不支持ie8
                    obj.preview(function (index, file, result) {
                        $('#img').attr('src', result); //图片链接（base64）
                    });
                    layer.msg('上传中', {icon: 16, time: 0});
                }
                , done: function (res) {
                    //如果上传失败
                    if (res.code > 0) {
                        return layer.msg('上传失败');
                    }
                    //上传成功的一些操作
                    //……
                    layer.msg('上传完毕', {icon: 1});
                    $('#imageLocation').attr('value',res.data)
                    $('#demoText').html(''); //置空上传失败的状态
                }
                , error: function () {
                    //演示失败状态，并实现重传
                    let demoText = $('#demoText');
                    demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                    demoText.find('.demo-reload').on('click', function () {
                        uploadInst.upload();
                    });
                }
            });
        });

    init();
})

//初始化下拉菜单
function init() {
    layui.use("form", function () {
        let form = layui.form;
        //动态显示下拉框并回显内容
        $.get({
            url: "/admin/productType/findAll",
            dataType:'json',
            success(res){
                let data = res.data;
                let options = '';
                for (let i = 0; i < data.length; i++) {
                    if(data[i].enable===1)
                        options += '<option value="' + data[i].id + '">' + data[i].productTypeName + '</option>';
                }
                let productTypeID = $("#productTypeID");
                productTypeID.append(options);
                form.render();
            }
        });
        //动态显示发货方式下拉框并回显内容

    });
}
